Add dirty detection and fix a bug in SpriteSheet
Summary:
- I had some W vs H mixed up, fix that.
- Allow sheets to detect when they need to be regenerated (any source file, rule, dimension, or position has changed) so we don't need to do extra work.
Test Plan: Generated sheets with non-square icons without hitting layout bugs. Ran sprite generation and saw only dirty sheets be picked up for regen.
Reviewers: chad
Reviewed By: chad
CC: aran
Differential Revision: https://secure.phabricator.com/D4031