Make sure we rebuild batches properly after a Blending material change.

If a node sent DirtyGeometry and DirtyMaterial in the same round and
DirtyGeometry triggered its batch to be invalidated, we would take the
no-batch code path which did set the rebuild state to BuildBatches. This
looks ok on screen, but if the node changed from alpha to opaque, it
would not be put into an opaque batch. For things like full screen
rectangles, this can potentially hurt performance.

To prevent doing a full rebuild on any material change on batchless
items (aka all Rectangle nodes), we store the blend state of the material
in the element and do a full rebuild only when blend state changes.

Change-Id: Ifdf06fb72ef02ca47a135c821ddbcbe0d164ca29
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>