Handle percentage margins.
A percentage margin (e.g. "50%") is used to specify a percentage of the parent style's margin.
Added tests to check handling of percentage margin values.
Merge pull request #726 from fancycode/margin_100percent

Handle `margin="100%"`.
Fix setUnfilteredPosition to escape child text nodes of rejected parents

setUnfilteredPosition was incorrectly leaving the walker's currentNode
inside a rejected parent if the target node was a TEXT_NODE. Adjusted
branching logic to ensure the walker always moves to a valid position
if the specified position is not accepted by the current filters.

Fixes #797