allow xfield and yfield paramters to be scalar values

Code like `quad(top=hist, bottom=0, left=edges[:-1], right=edges[1:])` fails because `bottom` is a scalar value 0, and not a column name. This is because of code that collects the `"xfields"` and `"yields"` for updating the data ranges assumes those fields are not scalars. This code loosens that assumption. 

This is a temporary fix to this annoying problem. The real solution is to remove data ranges entirely and let renderers be responsible for requesting their preferred bounds.