Initial work on horizontal compaction
Add attribution for bk positioner
Extract x coordinates out of graph for positioning
Add balance operation for bk positioner
Initial work on positionX

This work necessitated a rather large refactor to other parts of the bk
functions. We manipulate the layout matrix, which causes the graph to
move out of sync with the matrix. Now we just use the values computed
from the matrix.
Misc bug fixes in multiple parts of bk positioner

Most of these were detected with the added centering test.
More position tests