options.hpp: support reading floating point arguments