js/playList: parse rating to float

the custom sort function is comparing strings. String comparision in JavaScript is fine as long as both strings have the same lenght and the decimal mark at the same position.

But "10.0" was the only case violating this. "10.0" < a is returning false for all a's matching ^[0-9]\.[0-9]$

fixes #374

NOTE: this is a candidate for the stable branch

v2: we need to handle the rating coloumn explicitly, also remove this dirty eval hack with an associative array access