ecmascript: Major refactoring

Get rid of naked pointers in ecmascript code but instead use our
own native obj wraper that also deals with object finalization

Upgrade duktape

Add common hook system

Add CommonJS Module support and use to to implement Showtimes interfaces
atomic: Make atomic_set() return void
ecmascript: Fix broken malloc
Make it possible to build showtime with a lot of stuff turned off
prop: Rename the value "link" to "uri" to avoid confusion with prop_link()
ecmascript: Make memory tracking work across all targets
Get rid of a typo
ecmascript: Make it possible to subscribe to eventactions
event: Remove unused type event_queue_t
prop: Rename prop_set_link() -> prop_set_uri()
glw: Rename TOKEN_LINK -> TOKEN_URI
Add missing config variable for HTSP
thread: Thread functions can be called with prop_mutex held
pool: Add a helper to iterate over all pool items
prop: Use a pool of threads to dispatch prop notifications from global courier

This reduces the number of thread that needs to sit around and idle waiting
for something to happen. It also makes stuff happening on the global dispatch
less sensitive for blocking callbacks
rpi: Fix fallout from last commit
ecmascript: Rename 'callback' to 'root' since it's a generic object rooting store
Make it possible to load ecmascript from commandline
Add missing copyright header
ecmpascript/root: Fix typo