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.