tests for TransitNativeFunction
refactor transit evalaction (make properties private)
Use e.toString() instead of e.message for exception transit
Use `long` for NativeID incrementer
TransitProxy implements JavaScriptRepresentable
Return exception.toString instead of exception.getMessage to JS
Refactored TransitChromeClient.invoke
New `TransitExceptionAction(String message)` constructor
handle not-existent native function
Moved callback map to TransitContext
refactor TransitChromeClient.invoke
organize imports
Added .registerCallable
added converter from JSONObject to HashMap
also test 'null'
convert JSONObject to Map before proxifying
Use real nativeId
Log exception from NativeFunction invoction (for stacktrace)
TransitProxy supports `null`
no need for ConditionVariable