Keep cursor border size constant while zooming

Refactor Cursor class
Use pattern rules for Makefile