Added compound lists to SMILESField

Also fixed FloatField to use an HTML5 number input, and tweaked the use
of frange in FloatRangeField to work correctly even when dealing with
rounding issues (no more relying on a horrible epsilon hack)