Reimplement hero sprites clipping using Sprite::draw_region().

Surface::set_clipping_rectangle() no longer exists.
Also fix Sprite::draw_region() that never worked.