Game objects are rendered without knowing the type

Game objects have static shader program handle and virtual getter for it.
Implemented with some templates and preprocessor macros.