Implemented parallel version using threads and locks.
EdgeDetection class contains both the sequential and the threads version, which one to use is decided with a parameter using an enumerator.
Also, the overall structure of the program is now better.