Fix bug in Offset::offset.
Add hashcode method to Shape class.