Adding abstract image processor skeleton
Implementing canny using said processor