Graham Scan implementation and tests