Update of BasicWindow, added GameWindow and Utilities

BasicWindow now uses Unicode, as does the project instead of Multi-Byte.
The functions have been updated and use Windows' strings (LPCSTR etc)
internally, but all functions and variables available public and protected
use std::string or std::wstring. Support for both has been added.
BasicWindow also creates a console and disables its close button and
changes its font (to a Unicode supporting font). It is focused as debug
input is requested and leaves focus upon input completion.

GameWindow is added, inherits from BasicWindow and initialises DirectX11
in its body. This will be lifted out to a separate class.

Utilities has been added for small macros to be used throughout the
project.