Program, Buffer, Texture... structs no longer store a reference to a Context. Now it has to be passed explicitly to all methods that mutate the OpenGL state. This enables caching the state and removing redundant calls to gl* functions.
A simple map viewer.