Add reshauns easyputt course
Revert to directional lights
Add Reshaun to authors.txt
Add reshaun`s diagonal ball and updates to authors.txt
Remove eyeball ball ... ball ... ball
Revert "Remove eyeball ball ... ball ... ball"

This reverts commit 02bbf3b12444b60c3999fa550eff6366be7d0dec.
New eyeball
Add new Blinky texture and credit the artist
Add --data option to mapc

Allowing only one explicit data directory meant that out-of-tree SOLs
could not use their own materials while simultaneously using the stock
Neverball materials. This allows an arbitrary number of extra
directories.
Remove leftover metadata from the ball demo level

Prevents loading of background resources nobody will see.
Initialize the full SOL structure

Fixes invalid pointer access when freeing a SOL that failed to load.
Remove obsolete function declaration
Hide cursor during replay playback

Close #63
Fix ortho projection in OpenHMD backend

This is a direct crossport from a fix in the LibOVR backend. Both needed
the same change but I overlooked it.
Fix uninitialized HMD warping coefficient

The HMD warping shader uses the cubic warping coefficient, but we weren't
initializing it. This fix ensures it's set to zero in both HMD backends.

It's unsatisfying to force the GPU to perform a calculation using a value that
is known to be zero. We'd squeeze out a few cycles by eliminating the cubic
term from the shader. But it's there in the Oculus code, so we better keep it
here.

Oculus is *really* inconsistent in its handling of distortion coefficients.
The shader reads four, but the library writes three. Meanwhile, the device
itself reports six! The Oculus SDK avoids inconsistency by memsetting the
entire array to 0.

Props @parasti for uncovering this flaw.
Factor out material file loader
Implement a material cache
Add material reloading (F7 in cheat mode)
Further flesh out shared render state identity
Implement configurable lights

The default parameters are still hardcoded. The config file is read on
F7 in cheat mode. It's meant for tweaking values, not permanent
configuration.