Clean up explicit template instances

- Keep things clean and together
- Win - Less bloat when compiled
- Linux - Same bloat when compiled
Fix window delete

Prevent heap corruption when the function is called multiple times with
the same pointer.
Add abstract classes Game, Entity, Component

- Abstract objects to manage game state
- Implement base for a high def timer with linux and win api
Implement main game loop

- SetFps for target fps
- Run & Exit to start & stop
- SetGame to update working object
Add a Demo game to App

- Open window
- Check for exit on update