Create Gpu class to manage GPU memory
Tidy up core header file