Use hidden input instead of text

Simply use a hidden input by default instead of a text input and then
change the type programatically to hide it. This seems like useless work and
causes the problems in IE 6, 7, and 8.

From jQuery.fn.prop (http://api.jquery.com/prop/):
Attempting to change the type property (or attribute) of an input
element created via HTML or already in an HTML document will result in an error
being thrown by Internet Explorer 6, 7, or 8.
Remove unnecessary fillUntil

Make fillUntilRate more generic and call it only at the beginning when
you render the rating for first time or if the input value (model)
receives a change event.
Emphasize the rate on hover
Refactor input enabled check into a function