Started making GraphicsAPIWrapper more generic

The aim would be to have no concept of weak pointers at this level
Tidying up