Add shortcut key `z` to set window URL for zoom

Add shortcut key `z` to set window location to allow bookmarking, etc.
of the current view.
Add by_to_block_id/by_to_block_id swap info dicts

Add `by_to_block_id`/`by_to_block_id` swap info dictionaries to
`swap_context`.  This provides easy look-up for any swap involving a
block, given the block's ID.
Refactor mouse-out/mouse-over for grid blocks

Refactor mouse-out/mouse-over for grid blocks, to make it easy to
override either behaviour.
Highlight both ends of swap link on mouse over
Highlight all swaps involving hovered block

Highlight all swaps involving hovered block, rather than just a single
swap in the case where there is more than one.
Simplify swaps (un)highlight API, ...

Simplify swaps (un)highlight API.
Add `connected_blocks` method.
Rename class names to fix vim tagbar
Update block positions using swap infos

Update block positions using received swap infos rather than making a
manual request for the entire placement.

See #3.