Add support for GHCJS

This provides a (AFAICT) fully working GHCJS package set.

@peti Can I get your feedback on how to best merge this in? I'm sure there are some things to consider, like if/how we should specify that a given package supports GHCJS (or more generically, any particular compiler).
There are several places where ghcjs makes assumptions about the environment that aren't compatible with Nix.  We're working with @luite to move as many of these as possible upstream, but he's also dealing with Windows and OS X compatibility, so we'll probably require a patch for the foreseeable future.