add float support

FloatOption in lib/ test/ and README update

Did I leave anything out?  Collapse into fewer commits?