Feat encode via bytestring builder

This pull request relies on the pull request https://github.com/bos/text/pull/63. The key benefit is a 35% to 40% speed improvement for `encode`.

Note that I had to remove the `deriving Data` on `Value` to get the master branch of `aeson` to compile. This should be reverted.

Note also that `text-1.1.0.0` compiled against `bytestring < 0.10.4.0` seems to have a bug in its UTF-8 encoding routine. This is exposed by the tests in aeson. It might be that the input pointer is computed wrongly, as from time to time there was garbled output, which might be due to massive escaping due to an off-by-one error.