implemented SURF features - instead of choosing alpha random points we now take the strongest SURF points available and buffer with random points if there aren't enough SURF points.