added buffer_objects
moved backend out of graphics namespace (and other changes)