Add compare function to vbox margin history
Add compare function to vbox margin history

See #262

The whole point of unboxing the vboxes in the output queue is to find
new line break points in the event of a different size frame for pushed
content, therefore iterating over the vboxes and resetting the margins
on each one is a no go. It works to move content between frames of the
same size, but that defeated the point.

This fixes the logic to actually _compare_ the margins of each vbox as
they get unboxed. If the magins changed between vboxes then the source
document probably spit out another paragraph anyway so this is a safe
place to break out of hmode and reset the margins to math the current
vbox as we repack them.

neofob/sile,simoncozens/sile,alerque/sile,alerque/sile,alerque/sile,simoncozens/sile,neofob/sile,alerque/sile,simoncozens/sile,neofob/sile,neofob/sile,simoncozens/sile