Removed old script API, setup luaJIT FFI stuff

It'll be easier to create and maintain a lua API this way, and make the
lua/C boundary more efficient. Not to mention the huge performance boost
just from using a JIT'd lua.

Unfortunately, this means that there is no more lua 5.2 support until
luaJIT updates and adds API compatibility with 5.2, which as far as I
know will not be happening for some time.
Engine now works with compiled demo disabled.

The interface is not yet complete, as I still need to bind things like
the matrix library in order to fully get back up to speed with where it
was previously (which really wasn't much).
Freaky luajit bug on values >= 16 bytes
Got matrix.lua to run, by commenting prototypes

The problem is not luajit's handling of values in functions, it
appears: https://gist.github.com/4528471 If you uncomment the
function prototypes, that all too familiar error "invalid C type at
line 12" (Even if line 12 is commented out!).

I see no solution in sight, yet this file is very important to moving
code from C to lua... I still need to narrow out this issue and either
solve it or ask for help on the luajit mailing list. I still have
absolutely no idea what is causing it.
Fixed issue with matrix.lua

As it turns out, you can't define a type twice in your lua application.
Ever. So you have to make a file which has the definition, and require
that from all your files (This is what scalar_defs.lua is for).

Matrix interface is fleshed out, and the test script now sets a
perspective on the camera. Still need to bind some sort of keyboard
handling, not sure how C-based I want that to be.