New lexer for syntax-highlighting

I have experimented with a new lexer which is based on a depth-first, left-to-right traversal of the PegDown AST. The lexer has the following properties:

* It does not generate empty tokens.
* The total length of the generated tokens equals the length of the input.
* It generates an empty token sequence for an empty input.
* It is able to handle nested styles, e.g. emphasis in headers, bold links, etc. Each peace of Markdown source is hihglighted according to innermost applicable style.

The last one is a change from the current behaviour but could be easily changed if desired by the users. Please see the example below which illustrates the highlighting in the editor.

Markdown source:
> <pre>### Header with [link][example]
a *b **c** d* e</pre>

HTML as rendered by PegDown:
> <h3>Header with <a href="http://example.com">link</a></h3>
> a <em>b <strong>c</strong> d</em> e

Highlighting with old lexer:
> <pre><b>## Header with [link][example]</b>
a <em>*b **c** d*</em> e</pre>

Highlighting with new lexer:
> <pre><b>### Header with </b><a>[link][example]</a>
a <em>*b </em><strong>**c**</strong><em> d*</em> e</pre>

[example]: http://example.com