Cache the current batch for both opaque and alpha batch lists.
Cache the current batch for both opaque and alpha batch lists.

In the (near) future, we will want to support adding segments
where the texture may be different between segments (it is
currently assumed to be the same for all segments in a single
primitive). To do this efficiently, we need to be able to add
segments while switching batch only when necessary, so we now
cache the current batch in the batch lists, and re-use it if
the batch keys are compatible.

This is also a general optimization for opaque batches - this
patch allows the previously cached batch to be re-used for
different opaque primitives. This can avoid searching the
batch array when sequences of the same opaque primitive are
added.

servo/webrender,servo/webrender,servo/webrender,servo/webrender,servo/webrender,servo/webrender