Support semantic highlighting in IDEslave mode

Now, semantic information from the pretty-printer is sent as a list of
spans associating regions of output with metadata.