RectangleF methods should accept floats (plus some cleanup)