Implement an interface for DOM querySelector API

The current interface for finding elements through jsFind is limited, in
that it only uses lookup by ID. Getting DOM elements through arbitrary
query selectors (primarily utilizing classes) is a popular way in the
JavaScript ecosystem, specially to get multiple similar elements (say
all the children `li` items of a `ul`: `ul#my-list li`)

This patch provides functions to support the now popular
[Element.querySelector][0] interface. Request for the same is also made
in the Github issue #227.

Also introducing access to document object through ffi, which is a
popular element on which .querySelector is applied.

[0]: https://developer.mozilla.org/en-US/docs/Web/API/Element.querySelector

Signed-off-by: Rohan Jain <crodjer@gmail.com>
Merge pull request #234 from crodjer/query-selector-ffi

Implement an interface for DOM querySelector API
Use Math.imul for Int multiplication when available.
Cheaper thunk allocation.
Fix  querySelectorAll wrapper to correct List structure

The list object that `jsQuerySelectorAll` returned did not follow
correct structure to work with FFI. Fixed by following jsGetChildren's
implementation.

Signed-off-by: Rohan Jain <crodjer@gmail.com>
examples/list: Demonstrate `querySelector`

Uses the new `elemByQuerySelector` and `withQuerySelectorElems`
functions.

Signed-off-by: Rohan Jain <crodjer@gmail.com>
Fix localeEncoding.
Merge pull request #237 from minoki/master

Fix localeEncoding() in lib/rts.js
Merge pull request #235 from crodjer/query-selector-ffi

Query selector `querySelectorAll` fixes and example
add network-uri as a separate dependency

it looks like network-uri has been split off of the network package, so needs to be included as a separate dependency
see for details: https://hackage.haskell.org/package/network
Merge pull request #238 from ababkin/master

add network-uri as a separate dependency
Bump all versions (except Debian changelog) to 0.4.3.
Avoid websockets >= 0.9 on Windows as it's broken.
Handle hs-boot files properly. Fixes #232.
Add tool to inspect module exports.
Inline fail for IO monad. Fixes #229 without breaking the API.
Revert "Specialize Haste.Ajax.* to IO. Users can just liftIO themselves. fixes #229."

This reverts commit a05a0839f27cefb8e45721bd050eb98b0480314c.
Add usage info to haste-cat.
Tell OSX users to fix their $PATH in README.
First stab at this travis-ci thing.