allow half-stars in aggregate ratings (bug 971205)

This involved rewriting the SVG and applying it as a clipping path to a span (and a span:after) on the page using CSS. One span is the grey background, the other span is the blue background, both are overlaid on each other with the same clip path and depending on the number of stars to be show, the length of the blue one is changed.

Tested in both regular and small sizes (small only shows on mobile) in various views. The number of stars gets cached locally, so half-stars may not show up until the app is rated again.
couldn't you replace this entire function with `return (Math.round(number * 2) / 2).toFixed(2);`?