refactor format again, remove QSurface inheritance
finish up on qsurface and qsurfaceformat removal
* remove native context for now (qglwidget will be used for canvas)
* abstract context remains for later features