better offset defaults for shadow()
test updates

- include poly() in primitives
- push/pop-related syntax updates
use stylesheet when text() is called with xml

- the test for xml-ness is whether the text() string starts with an
angle-bracketed tag and ends with a matched close tag. - leading or
trailing whitespace is significant and will result in non-xml formatting
- styling can also be disabled (even when the string passes the xml
test), by calling text(‘…’, style=False)
move old unit tests out of module

- the nodebox-era tests live in etc now (and could use some updating)
added `style` arg to text() and textpath()

- if it’s a string (and the stylesheet has an eponymous rule), draw the
text with that style and don’t parse XML – even if a root element exists
- if `style` is False, draw the text using the current font() and
fill() and don’t parse XML
still fighting the dock-icon rasterizer