Allow non-strings in labels

This is to allow non-`String`s to be used in placing text on the canvas. Passing a `String`, which was required before, will still call exactly the same code as before, but this adds a more general methods that convert their arguments to `String` before calling the original ones.

My main motivation for this was to be able to use a `Float64` column of a `DataFrame` as labels for a Gadfly plot, but I suppose it has other possible uses as well (placing anything convertible to `String` as text, I guess).