minor -- avoid garbage when using unimplemented calls
examples: TreeView XML: updated to new layOutComponents api
LuceO: refactored array related methods to more generic ones

+ implemented luce_pushtable and reimplemented all types supported by
LuaO's returnTable

+ implemented luce_to*, where * is one of
    the supported types (Rectangle, Range...)

+ implemented push_light* for all types supported by luce_pushtable
    -> pushes to the lua context a table with a field __ltype prefixed
    with "light" followed by the class type
    TODO: add __type

+ clarified luce_pushtable( std::list<var> ) (compared to the former LuaO method)
cleaned up LuaO
Started refactoring from LuaO to LuceO
LTextEditor: fixed typo in returnPressed
LTextEditor: implemented class InputFilter, as a static method -- no need to add the luna payload for such a simple class; it's created by calling TextEditor.inputFilter and have the exact same behaviour as the JUCE's native one, meaning it can be owned by a TextEditor or not. If it's not owned by a TextEditor, it'll be collected by lua as any object when going out of scope. As opposed to any other Luce classes, and as Graphics::ScopedSaveState, having no method to call, it's pushed as a lightuserdata