[RFC] Refactor CApplication

CApplication is currently huge so I started looking for things to extract to make it more manageable. I marked this as RFC because it's probably some design decision I may have overlooked, also not implemented for non-win32 platforms make files.

Is this worthwhile? Anything specific that needs to be changed? I welcome any criticism
Copy paste :)