Define basic framework

Defined the main component of the framework the Core. This is an
abstract class which has an implementation for each OS. It is what
drives the engine (calls initialization functions, handles data loading
and managing, renders to the screen, manages GL contexts and more...