Implement deferred strip creation in the PixelPusher object

Every time we see a squitter we create a new PixelPusher object and
compare it to the one we already have.  This was creating a lot of
object churn since each one created its own set of strips.  Most of the
time we throw away these objects after comparing them anyway (we just
update the header on the old object).  So now we only create it the
first time we try to use it.