Optimise SquareImageView layout.

A normal call to setImageDrawable() will result in a layout request, as the
image being added may cause the ImageView to resize.

In the case of SquareImageView this is not the case, as the dimensions are
fixed irrespective of the image size.  So block layout requests for the
duration of calls to setImageDrawable().

See https://plus.google.com/113058165720861374515/posts/iTk4PjgeAWX for
more.