Cleaned up and extended the Lua Interface

Somewhat major changes to the Lua Interface, namely that functions are
now called via reflection in C#, and as such a lot of functions has been
added dynamically.