Application: Define Engine methods
gdk/engine: Simple main implementation
Application: Contains GUI ptr as member variable
Application: Private constructor; use factory
GUI: Add factory function
Application & GUI: No longer abstract
Application: Format fix
Application: Delete App if creation fails
Application: Initialize Gui to NULL
Application: Add Window member variable
Utility: Designate unsigned literals in Log
Merge branch 'gdk' into develop
gdk/engine: Added version macro symbols
gdk/engine/Application: Log component creation
gdk/engine: Log engine info
gdk/engine: Log exit code of Application
gdk/engine: App Initialize error checking
gdk/engine/GUI: Error check GUI::Create
Window: Error check shader binding
Window: Add SetTitle method