Fixed-position repaint invalidations should be sent to the correct composited layer.

When scrolling, there is logic in FrameView.cpp that sends
repaint invalidations for all viewport-constrained objects.
This logic was always sending repaints to the RenderView's
layer, and did not account for the scenario where the
non-composited fixed-position element paints into a different
composited layer.

This patch makes that code path recognize this situation,
and computes a correct repaint invalidation and sends it
to the correct composited layer so that non-composited
fixed position elements can be repainted corectly.

BUG=128375

Review URL: https://chromiumcodereview.appspot.com/23523046

git-svn-id: svn://svn.chromium.org/blink/trunk@157723 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Remove unnecessarily complex template from ShapeInfo classes

These classes were trying to be way too clever, and as a result were
hard to read and hard to debug. Replace the complex templated method
calls with virtual methods to make these classes much easier to
understand and maintain.

Review URL: https://chromiumcodereview.appspot.com/23757037

git-svn-id: svn://svn.chromium.org/blink/trunk@157724 bbb929c8-8fbe-4397-9dbb-9b2b20218538