Query/Promise/Selenium Refactor

This is a large refactor of bok-choy, with the goal of simplifying the interfaces and improving the documentation.

Changes:
* Deprecated `css_*` methods in favor of queries
* Deprecated `fulfill_before` and `fulfill_after` in favor of `Promise.fulfill()`
* Replaced Splinter dependency direct Selenium calls
* Deprecate `SubQuery` in favor of XPath queries.
* Added query methods to check element visibility.
* Added query method for retrieving the "nth" element.
* Updated API documentation, using Sphinx keywords for all public methods.

I couldn't think of a use case for `SubQuery` that couldn't be achieved using XPath queries.  Although slow, XPath queries are still likely to be more efficient than repeated WebDriver (HTTP) calls, which is what `SubQuery` would end up doing.  I'm willing to be persuaded otherwise, though.