Avoid setting y position unless modified in canvas

This is a clarification on the desired behavior of bounding boxes, which
essentially states that if the user does not modify the y
position in a bounding box that is either stretchy or
has its position held, the original y position will be restored.

The only realistic condition I can think of for this is
when doing vector drawings which do not actually modify the cursor
position, or possibly when doing conditional logic within a bounding
box call. However, this does fix the problem discovered in #523,
where calling canvas without modifying the y position ends
up putting the cursor at the absolute top of the page, outside
of the margins.

This is not an ideal fix, but it (mostly) preserves existing
behavior while providing sane behavior for an edge case.