Refactor library to not include command-line component

The command-line component adds a lot of dependencies that aren’t
needed in a typical use case. The command-line component is being
separated out into a different library