WIP FIX: Fix examples

@almarklein mentioned that we should get all our examples working. Toward that end, I made a bunch of changes, some of which were necessary to make examples run on my system (OSX, picky GLSL compiler).

Here are the examples that still don't work for me -- can anyone else take a stab at fixing them?

glsl-sandbox-cube.py (doesn't update)
demo/split-screen.py (doesn't display anything)
howto/client_buffers.py (lots of warnings)
modular_shaders/sandbox.py (error)

I didn't look at these examples, because we should decide if we want to adapt or remove (for now) them:

scene/*
techniques/grid/*

I didn't adapt these yet because it was going to be a pain, and I wanted to double-check we still want them before `app`-ifying them (right now they're GLUT-based):

tutorials/gl/*
tutorials/gloo/*

Let me know what you think, and I'll keep converting.