Issue title: Renderers based on `text-builder-linear`
 Issue body: …should be faster than the existing renderers.

See https://hackage.haskell.org/package/text-builder-linear.
 Comments: 
 Comment 0: @sjakobi I would like to implement this. Should I create a new package, such as `prettyprinter-linear`, or should I directly add this to `prettyprinter`. Are we trying to keep dependencies low? `text-builder-linear` depends on `bytestring`, `quote-quot`, and `template-haskell`.
 Comment 1: Thanks for the offer, @oberblastmeister! :)

Indeed `prettyprinter` can't easily accept dependencies on non-boot libraries. So my suggestion would be to put the new renderers in a new package `prettyprinter-text-builder-linear`.
{'source': 'GithubIssues', 'repo_name_with_owner': 'quchen/prettyprinter', 'issue_id': 1251389427, 'repo_stars': 298.0}