feat: make prometheus registry configurable (#132)
Rather than implicitly use the default prometheus registry, we now require the prometheus registry to be explicitly provided. This avoids conflicts when used as a library, as well as providing more flexibility.