Updated Code

* Engine has Input, Physics, Renderer
* Renderer creates swap chain, render target; clears buffer, swaps
render target
* App initializes engine and updates it in the loop
* Added enum for potential input types in the Input interface