Don't try to show annotations with null IDs in the sidebar

When an annotation has not been saved yet, it does not have
a real ID. In these cases, it does not make sense to try to
send the empty ID over the RPC channel to try to display the
(yet) non-exisitent annotation card in the sidebar.

There is already some filtering for this on the other side,
but I think it makes sense to filter out invalid element
as soon as possible.
Implement location sort.

The only way to get information about the location of the annotations
in the document is to request this information from the highlights.

This information can't be read out from the selectors, because anchoring
can place them *anywhere* in the document.

They also can't be read from the anchors, because anchors can contain
any kind of description; there is no mapping to any uniform coordinate
system.

The only way to get this information is to ask the hights for
the coordinates, after they have been rendered.

So this must be done after the second-phase of anchoring; after the
rendering of the highlights in the DOM.

So now we query this info from the highlights (upon rendering
in the host fram), and then store it back into the targets,
which are then sent back to the sidebar, so that this information
is available for sorting.

Fixes #1217.