styfle
Some users want to create a tunnel programmatically, something like this: ```ts import { client } from '@styfle/vgrok'; const url = await client({ port: 3000 }); // doSomething(url); await client.shutdown(); ``` This means we need to refactor `vgrok.ts` and move most of the code into `client.ts`. Then `client.ts` can be the main export from `package.json` and `vgrok.ts` can import `client.ts`. The only code remaining in `vgrok.ts` will be CLI specific like `const [firstArg, secondArg] = process.argv.slice(2);` for example. Also write tests using `node:test` module to ensure the `client.ts` is well tested.