Tests: include markup string comparison

Cause it's important that the numbers in == numbers out.
Rectangles: move sub-pixel rounding into function

Mostly to be more explicit. Also, remove the call to limitSize because
we don't care about limiting the size when doing sub-pixel rounding.
Markup string: fix positioning of rectangles.

Now that rectangles are set with 'originX: left', we don't have to
subtract half the width and height when generating markup.
Refactor: move some code into a function
Rectangle: dont do subpixel rounding in browser

It's only important when producing the master on the server, fluidity in
the browser is more important that a slightly fuzzy edge.
Rectangle: correctly impose the size limits

The previous method caused weirdness (rectangle would move around during
sizing, especially when the upper-left corner was used for resizing).
Now we capture the scale change at the source and alter it correctly.

It works beautifully.