Fix issue with text positioning.

HTML ignores white space before / after content.
Improve flexibility of reading rectangles in Path.Constructor.

We can now define the rectangle by any property that it has setters for.