Identifying similar surface patches on proteins using a spin-image surface representation