change height and width options to be floats, and interpret values between 0 and 1 to be percentages. For example, an options strings of "0.5x" specifies 50% width and proportional height.
this also relaxes option parsing to never return an error. In cases where options are not able to be parsed, they are silently ignored.