client API: allow returning float properties as integers

I'm starting to think that being type-strict with this interface
actually sucks. This commit is a step towards being less strict.
osd: properly redraw external overlays when they are set