Added category on NSArray and NSDictionary that provide subscripting on Lion.

Subscripting consists of two parts: Compiler support, and the actual methods called by the compiler. These methods can be added to absolutely anything; including NSArray and so on, on pre-10.8 systems. I had feared that they would interfere with 10.8, but they don't, so that's nice. (I'm not sure whether my version is being called or an optimized one of the specific subclass, but that doesn't really matter either).
Merged in changes from master
Merge branch 'master' into lion

Conflicts:
	GLLara.xcodeproj/project.pbxproj
Merged main branch into this.
Fixed 10.7-specific differences

BOOL is a new type altogether on 10.8, which is necessary for @YES to
work. On 10.7, it has to be @(YES) because the cast in there confuses
the compiler otherwise.

Also, OBJExport hadn't imported the category.
Some weirdness during merging.
Define ID for Intel HD 4000 on Lion. The GPU isn't actually used on any computer that shipped with Lion (hence it not being defined), but the check needs to work the same on both 10.7 and 10.8, of course.
Add lion subscripting categories.
Reduce state changes by keeping track of active program.

This was intended to fix issue #6, but ultimately didn't. But it still reduces the number of state changes, so I think it can stay.
Update global buffers by mapping their contents.

This apparently solved issue #6 (at least for me). It may be necessary to extend this to render parameter or bone transform buffers, too.
Switch from mapped buffer to subdata.

This seems to work just as well for Nvidia, but hopefully works better for ATI.
Switch from mapping to specifying whole buffer.

Because there aren't enough ways to change buffers, really. Also, this is apparently the thing that fixes buffer updates on ATI.