Structure changes

- Removed window class since it was just causing unnecessary
  abstraction
- Added state handling
- Added splash screen on application start