Added a few options

* `useLatest` - Start from index 0 instead of the last index after a push to the history
* `ignoreEmpty` - Don't add to history if message length is 0