Rework problem statement template. Features and fixes.

Hello, I am sorry I am once again pushing the HTML template. I hear there was a RC incoming, and I felt that there was still much work to do in this template. The result is a new rework of the whole template. So much that the diff is probably unhelpful.

* First of all, I fixed some [regressions?] things that behaved different in the default setting than they used to behave in @shivawu's first version of the statement. Tags now have the same width, and test case data highlight has more padding. 
* Added a fontSize option, defaults 16px.
* Default color theme is no longer pure black (#000), but slightly darker. Readability guidelines often advice against pure black on white background, most sites use this dark grey for font color, including github.
* I modified all the size entries to scale up / down depending on the font height.
* Replaced the showOutputArrow option with outputPrefix, basically you can choose what to prefix it with. `"→"`, `"Returns: "`, whatever.
* Test case parameter data now aligns all values and names. It is very convenient to have them lined up. If  the input are two strings, an original and a target one, it helps.
* Added Problem Definition. Like I said in #112, I think it is best to make problem definition use Java types by default. For starters, the problem statement `<type>` tags already do this, so it is consistent and it simplifies the work a lot. If we wanted to generate language-specific definitions, it would be very complicated and possibly impossible in python without more code. Problem Definition can be hidden through options and the types can be changed to c++ ones.
* The  various sections' padding and margin look better and more consistent now.
* Test case number should  now appear before the rest of the test case in firefox as well as chrome (didn't work that way in firefox).
* Option to disable test case data highlight (the special background).
* The problem statement markup is semantic now. Disable page style and it will still look fine. Headings use h1 or h2 tags and all lists use ul or ol (for test cases).
* Requires PR #113.