Split to multiple classes, overridable shader

- wrapped into TextureReplacer namespace
- split into Builder, Replacer, Personaliser & Main
- reflective shader can optionally be given in a text file
- default config file & shader included in source tree, build script++