Added weird position handling to annotation position specs.

I encountered a situation in which a position of "-nan" was supplied
to an annotation and it croaked. This led me to provide the machinery
in this patch, which captures such weird values in specs and provides
sensible values for the drawing operations.