Splits the analyzer into a base that only reads from an offline (non-raw) trace file, to support building offline analysis tools that do not need to link with DR. The tools to be used are passed in, simplifying tool creation and lifetime management.
The derived analyzer, analyzer_multi_t, supports online, raw offline, and transformed offline files.
For analyzer_multi_t, adds a separated interface for instantiating the tool to be run, supporting linking in a separately built static library.
Adds a sample offline-only tool that runs the histogram analysis. Adds a test of the new standalone tool.