Add Hough transform

Implemented the Hough Transform sample, adding the input image from the Rosetta website. Rather than use PNG and introduce another dependency, I converted it to PGM and wrote simple load/save support in Rust.  Compares exactly with the output of the Go version (on which it was based).
These were just sanity tests to ensure the header was valid, not really suitable for unit tests as such. The proper way would be to return an `Option<Image>` but this seemed like unwarranted complexity. Can do this if it needed?