LJUCEApplication: extra check
refactoring -- wip

fixed: gc crash with luajit
fixed: unused objects not collected
refactoring -- wip

fixed: gc crash with luajit
fixed: unused objects not collected

added: LSelfKill, helper to detect and delete orphan objects
       this is also a base class for LBase and in charge of keeping
       component's name (former LComponent's myName)

callbacks: don't store callbacks as indexed values in registry, instead,
           use the component's address as a weak key to a table
           containing the callbacks
           reg method has gone, only set("...") is used now to register
           a callback

to_juce/from_luce: only from_luce should be use as of now; it can take a
                   second template argument to get more accurate when
                   casting -- this is also mandatory to pass Components to
                   Juce as LComponent, through LBase/LSelfKill, became
                   polymorphic

LComponent: myName goes to LSelfKill and is now a function

Main: track and clean orphan objects before ending

LJUCEApplication: use LBase as base class, not LComponent
                  LComponent must exclusively be uses as a base for Component derived
                  classes only

luna5: gc has nothing to do now -- must clea-up and refactor the whole
       class ASAP
Makefile: restored standard paths
Main (ending): more accurate warning message
LTextEditor: make textEditorFocusLost callback optional
LStretchableLayoutManager: set name
LTreeViewItem: make itemSelectionChanged callback optional