Move testing work to separate branch.

* use Buster.js
* fake window object if we're not in the browser.
* export Function functions so we can use them
* test Prelude, Native.Prelude, Native.Show, a bit of Signal