Use setTransform instead of save()/translate()/rotate()/restore() to improve performance

Once again no significant performance improvement
Calculate FOW unique points once