Improved lint integration in the layout editor

This changeset improves the lint integration in the layout editor in
the following ways:

- The outline now shows error or warning indicators in the bottom left
  corners of the icons for any specific views that have one or more
  lint warnings associated with them.  There is a tooltip if you hover
  over the icon which displays the lint message.

- The layout editor canvas displays little warning indicators in the
  bottom right corner of the views (provided the views are larger than
  the icons; e.g. empty layouts, as well as views that are zoomed out
  very far will not show lint indicators).

- There is a tooltip hover in the canvas as well. In order to avoid
  obscuring content, it shows up at the bottom of the view. It might
  also show multiple lines: one for each lint warning in a view near
  the cursor. (This is important if you for example have a warning
  both on a layout and a widget inside that layout.)

- The error indicator in the upper right corner, which used to be a
  (too small) warning icon is instead an issue count now. Clicking on
  the issue count opens up the lint file dialog.

- The lint file dialog now contains a button to suppress issues by
  attributes (and fixed some other minor bugs related to keeping
  expanded categories expanded across refreshes and setting an initial
  selection).

- Lint is run automatically when the layout is opened up (3 seconds
  after the first successful render).  This makes the error indicators
  show up (until now, it would only run single-file-lint after the
  first edit operation).

Change-Id: I306aca390d70bf025f5e86fc21ae7b6bc0036d8d
36 files changed