change toast default to indefinite

fixes issue #29 by changing `toast` to only set a timeout if the timeout is provided and is 0 or greater. `ident` provides an explicit timeout, so that remains unchanged.