Some refactoring in Paragraph/Line

- replace [glyph, width] list with GlyphAndWidth class for clarity
- introduce Line._handle_tab() to make Line.new_span() shorter
Remove *all* spaces from the end of a line

+ refactor the other line clean-up operations
Avoid need to manually update the space count
Inline images

- classes in rinoh.inline module roughly mimic the text classes
(still need to be properly organised)

Also:
- extend Image class to support horizontal alignment
- fix scaling of images
reStructuredText: respect the xml:space attribute

Fixes display of docinfo/address.
Basic support for PDF hyperlinks

- creation of the PDF annotations are postponed until Canvas.append()
- they need to be specified in page coordinates which are not known at
    the time of typesetting
- it is possible that a canvas is discarded eventually, which would

    result in (duplicate) link annotations appearing at the wrong
    location
- only rST URI references are supported for now

Notes:
- a single MixedStyledText link is split up into a separate annotations
for each span. This should be a single annotation (unless the MST is
split by a line break).
Basic support for PDF hyperlinks

- creation of the PDF annotations are postponed until Canvas.append()
  - they need to be specified in page coordinates which are not known at
    the time of typesetting
  - it is possible that a canvas is discarded eventually, which would
    result in (duplicate) link annotations appearing at the wrong
    location
- only rST URI references are supported for now

Notes:
- a single MixedStyledText link is split up into a separate annotations
  for each span. This should be a single annotation (unless the MST is
  split by a line break).
Avoid splitting up annotations
Show links in blue

Conflicts:
	rinoh/frontend/rst/nodes.py
Support hyperlinks to destinations within the PDF

- a Referenceable translates to a named destination in the PDF
- a Reference translates to a link annotation
- like annotations, destinations are only saved on canvas placement

To do:
- in-line targets (rST) are not yet supported
- the Dests/Names array in the PDF should be sorted by key
- the table of contents destination is missing
Should have checked in these files a long time ago
Some refactoring of annotations and destinations
Support reStructuredText body-level target elements