Implement interfaces in PaintInfo and make it a class.

PaintInfo is a struct used all around in rendering, there is a FIXME that dates way 
back to August 2011 to implement interfaces on it. This patch implement setters/getters as needed by 
current rendering/svg classes.

It is interesting to observe that in several places, PaintInfo users were using a const pointer
to access its members and call non const methods on them (thus making the use of const qualifier in the
PaintInfo pointer at best useless and at worst misleading).

Attention to RenderSVGResourceFilter class since its apply/postApplyResource methods may write into 
the received context, thus the need to restore the GraphicsContext in PaintInfo.

BUG=266575

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

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