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).
> yet that version number doesn't show up anywhere in the file and, in fact, is imported from another expression

My thinking was that, as soon as Cabal 1.22 is officially released, we'd just regenerate both files at the same time, and then there wouldn't be any surprises. I'll go ahead and set the version explicitly.