added common includes and utils
new base class for easy event handling / overriding
refactored main render loop into an "App" class