Don't create listener until it's needed

Code that's using this gem as a library dependency may just want to take
advantage of its rendering, not its watching, so defer creating a
listener until it's needed.
Update test to reflect new anchor markup
Update Celluloid test workaround

Celluloid started failing in the tests with
`Celluloid::Error: Celluloid is not yet started; use Celluloid.boot`
again.  Update the workaround to get it happy again.
Update dependencies
Work around incompatibilities in latest linguist

Pin to github-linguist 3.3.1 to avoid problems introduced in later
versions (for a number of versions they relied on a beta constant in
rugged which is now gone and creates an error, and in the latest it
looks like a Pygments constant that html-pipeline relies on disappeared)
Merge pull request #34 from dmarcotte/lazy-listen

Don't create listener until it's needed