Put a skeleton DLL in for Little Busters Baseball.

This prevents callDll error spew, and gives us a skeleton to build on
in case someone ever figures out what this DLL is doing.
Object events should still update the screen during WaitLongOperations.

This adds a separate dirty bit to the GraphicsSystem that LongOperations can
check for. We don't want to force a refresh every time an object property is
mutated because that breaks all sorts of animations.
Make all ad-hoc waiting LongOperations instances of WaitLongOperation.

This should make animations work no matter what waiter the scripter used.
Incomplete implementation of objdisp.

This is enough to display some parts of the Little Busters Refrain. However,
I'm unsure if the move parts are correct and the scale stuff is unimplemented.
Log more properties about GraphicsObjects.
Only check the gl error state all the time in debug mode.

While reading OpenGL performance material, it mentioned that this is a round
trip.
Implement obj{Light,Tint,Colour} in a fragment shader.

This fixes parts of the Little Busters refrain, among others. The ending
reprise of Little Busters shows them driving in the bus for the first
time. This is implemented as a progressive enhancement and the old path is the
fallback if there's no fragment shader support.

This also cleans up all fragment shader code and puts them in their own file.
Implement objMono() in our shader.
Implement objInvert() in the shader.