pulse_worker: rename join() to stop_and_join() to reflect its behavior.

This method not only waits for the thread, but also signals it to exit.
sources/terminal: add pulse width and operation mode options.