Lots of refactoring

- Introduces new WindowManager and subclasses for window management
- Breaks a lot of stuff :/
1 job for frame-refactoring
latest