window design changes

- Reverted component system, proved to be very complex for small gain
- Pure virtual function fix
- Usage of WndProc class which handles all messages
- Introduction of app class
- Updates handled through custom win messages (e.g. SWM_INIT,
SWM_UPDATE)