fix precision issue by using yajl_gen_number

yajl_gen_double disagrees with ruby's Float#to_s in incompatible ways