Line detection PR #2 follow-up.

This PR includes #2 rebased on top of current HEAD + a commit that cleans up the code and adds an improved adaptive thresholding routine.
Will it help to tune it if I provide you some manually classified shreds? If yes — please let me know what kind of info do you need.