Prevent divide by zero in gradient_magnitude_direction
Moved test code to seperate test harness file.
Part 4 (edge detection without hysteresis) is done and tested.