1. k3Update added, which must be called per frame.
2. Added GPU timers for profiling.
3. Added ARB_direct_state_access support because Mesa is being a bitch
again.
4. Cached uniform locations in an open-addressing hash table.
Unfortunately, I'm pretty sure there was no performance increase, at
least on my development machine, but it shouldn't hurt anywhere else.