Fixes the bug that path command is not handled properly.

This commit fixes how the `Z` command works in the `path` element.
Fixes the `polygon` element.

The `polygon` element should always close the path in the end.
Uses black as the default fill color.
Supports `stroke-linejoin` and `stroke-miterlimit` attributes.
Fixes the `rect` element.
Support for the `polyline` element.
Support for generating source files.
Support for the `transform` attribute in the `rect` element.