ecmascript: Improve automatic charset detection when decoding byte -> string

Fixes #2320
ecmascript: Add bin2hex and hex2bin conversion functions
ecmascript: Add basic hash functionality

Fixes #2317
ecmascript: Add showtime.probe

Fixes #2314
ecmascript: Add settings.createInfo to APIv1

Fixes #2323
ecmascript/api-v1: Fix typo

Fixes #2325
ecmascript/settings: Add support for multiopt

Fixes #2311
ecmascript/api-v1: Fix typo

Fixes #2331
ecmascript: Rename createMultiopt -> createMultiOpt

Fixes #2329
ecmascript: Add support for page.redirect()

Fixes #2327
ecmascript: Protect against multiple resourceDestroy()
ecmascript: Get rid of a dangling duk_dump_context_stdout()
navigator: Backout a change that was added during testing
ecmascript: Add showtime.print() and console.log()

Fixes #2326
ecmascript: Add item.addOptURL() and item.addOptAction()

Fixes #2315
glw: Add missing prop_unsubscribe()

Fixes #2302
prop: If clear hps_dispatch if in PROP_DEBUG mode

Otherwise the scanner for stale subscriptions will misdetect destroyed ones
for being alive
textparser: Handle tags with leading spaces

Fixes #2337
Fix problem with loading subtitles from same directory as video content.

If loading was too fast the video initialization code managed to cancel
the load attempt, resulting in no subtitle loaded at all.
ecmascript: Try to convert duktape number to integer if possible

Fixes #2336