Separate query parsers and make it overridable

The general idea is to extract query parsers from backbone-related code and make it easy to override. Main reasons of having them separately:
* Flexibility — you can chose different way of serializing objects into query, e.g. `$.param/unparam`, or even `JSON.stringify/parse` (even though that sounds crazy)
* Testability — you can easily cover parsers with unit tests without having to touch Backbone router

This is a kind of draft, but I'd like to know thoughts about the general idea.

--
Regards,
Max