The Colours of Life: An Introduction to the Chemistry of Porphyrins and Related Compounds