cairo: add rectangle, gridsprite: fix