Execute JavaScript output after DOMContentLoaded

Previously, JavaScript generated for the browser would only execute on
the DOMContentLoaded event. We should also check if the browser is
already ready. We can do this with the following:

    document.readyState == "complete" || document.readyState == "loaded"
javascript: remove redundant local constructors
Add updateAt to Vect.
Add 'Lazy' type for capturing delayed computations
Fix argument syntax to match what Idris actually wants
Remove | annotation, make Force/Delay implicit

Laziness is now fully typed.
Remove EVALs from generated code

Except where explicitly required by a Force
javascript: strTail could not be optimized properly
javascript: fix detection of constant constructors
javascript: removed unoptimizable JSRaw
Merge pull request #874 from puffnfresh/javascript-ready

Execute JavaScript output after DOMContentLoaded
Merge pull request #875 from raichoo/javascript

javascript: remove redundant local constructors
Merge pull request #878 from walkie/master

Add updateAt to Vect.
Merge pull request #883 from david-christiansen/semantic-pprint

Highlight errors in ideslave
Merge pull request #885 from david-christiansen/fix-help

Fix argument syntax to match what Idris actually wants
Merge branch 'master' of github.com:idris-lang/Idris-dev into typed-laziness
Merge pull request #887 from raichoo/typed-laziness

Typed laziness
Merge branch 'typed-laziness' of github.com:idris-lang/Idris-dev into typed-laziness
Remove EVAL from APPLY

Also slightly reduce size of EVAL/APPLY functions
javascript: disable all optimizations (temporary)