Begin replacing JavaScript.Experimental with a legitimate API

Totally inspired by @lambdatoast’s wonderful API in elm-json
Flesh out JavaScript library a bit more
expose JavaScript.toString and fromString
Replace customGetter with andThen
Merge branch 'master' into javascript
Merge branch 'master' into javascript
Fix bug in Text.append
Remove use of Cons and Nil
Fix error with cons-ing in implementation of (++)
Add String.fromChar
Get rid of old JSON implementation
Move all JSON stuff to Json.Encode and Json.Decode
Remove dead code (Native.List.each)
Correct imports in Json.Encode
Simplify Json.Decode API, use terms encode and decode instead of toString and fromString
Rename Get to Decoder, complete custom decoder API
Move toString to Basics
Merge branch 'javascript'