Allow multiple tokens to be mapped to the same CSS class

In most languages there are different ways of declaring the same
constructs, but with the current implementation of Prism it is only
possible to define one pattern for a particular token type. This is not
a problem, as long as it is possible to match everything with one regex.
But sometimes it isn't easily possible to do that, especially if things
like `lookbehind` or `inside` are needed for one part but not for the
other. This patch splits the token type into two parts, whereby the
second part is optional: {token type}#{description}

For example there is a minor bug in the current definition of the
`clike` language, that could be solved with this patch:

The character immediately in front of a single line comment is
highlighted as a comment as well.

something// something

This is because both definitions for single and multiline comments have
to be matched with a single regex and the `lookbehind` parameter can
only be applied to the first captured string.

With this patch one could split the two definitions up and use
`lookbehind` for both, thereby eliminating the bug.

'comment': {
	pattern: /(^|[^\\])\/\*[\w\W]*?\*\//g,
	lookbehind: true
},
'comment#single-line': {
	pattern: /(^|[^\\:])\/\/.*?(\r?\n|$)/g,
	lookbehind: true
},
Merge pull request #319 from zeitgeist87/gh-pages

Allow multiple tokens to be mapped to the same CSS class
Add HTTP, Coffeescript and Java to example.html

If those languages are not included `examples.html` has a lot
of code, that is not highlighted at all.
Merge pull request #322 from zeitgeist87/ExampleFix2

Add HTTP, Coffeescript and Java to gulpfile
Fix Java operators to correctly highlight examples.html

This patch basically adds a lot of `=?` at the end of operators that
were missing. The order of the `>=` and `<=` operator was wrong. It also
changes the order of the lookbehind pattern, so that the start of the
line is matched first. This last change fixes a lot of the bugs on the
`example.html` page.

The design of Prism makes it seem as if the regex multi line flag has no
effect, because strings are continuosly split up before the regexes are
applied. In this case it is necessary so that `^` is interpreted as the
start of a line instead of the start of the document.
Merge pull request #325 from zeitgeist87/FixJava

Fix Java operators to correctly highlight examples.html
Allow multiple regex per token name by using arrays

In most languages there are multiple different ways of declaring the
same constructs (e.g. comments, strings, ...) and sometimes it is
difficult or unpractical to match all of them with one single regular
expression. This patch adds the possibility to use an array of pattern
objects.

For example there is a minor bug in the current definition of the
`clike` language, that could be solved with this patch:

The character immediately in front of a single line comment is
highlighted as a comment as well.

something// something

This is because both definitions for single and multiline comments
have to be matched with a single regex and the `lookbehind` parameter
can only be applied to the first captured string.

With this patch one could split the two definitions up and use
`lookbehind` for both, thereby eliminating the bug.

'comment': [
    {
        pattern: /(^|[^\\])\/\*[\w\W]*?\*\//g,
        lookbehind: true
    },
    {
        pattern: /(^|[^\\:])\/\/.*?(\r?\n|$)/g,
        lookbehind: true
    }
],
Add automatically generated files
Merge pull request #321 from zeitgeist87/gh-pages

Allow multiple regex per token name by using arrays
Use the new array syntax for clike and coffeescript

This patch uses the new array syntax for the `clike` language and for
`coffeescript`. For `clike` it fixes a minor bug, whereby The character
immediately in front of a single line comment is
highlighted as a comment as well.

something// something

This is because both definitions for single and multiline comments
have to be matched with a single regex and the `lookbehind` parameter
can only be applied to the first captured string.

For `coffeescript` the previously used `block-comment` token name is no
longer necessary.
Add auto generated files
Merge pull request #327 from zeitgeist87/UseArraySyntax

Use the new array syntax for clike and coffeescript
Extend Latex support

This patch extends the support for Latex in the following way:

* It introduces a helper function to highlight Latex environments that
  are enclosed with `\begin{something} ... \end{something}`. There are a
  lot of these environments in the Latex language that could get special
  highlighting in the future.
* Certain functions like `\ref` or `\begin` always contain a reference
  or a keyword and they are highlighted as such.
* Chapter and section headlines are written in bold to make them stand
  out more, because they structure the document.
* Since `selector` and `string` have the same color in the default
  theme, the token type `function` is used to highlight Latex commands.
* Add support for the `\url` command