Add stop mode (for numbers only currently)

This allows to generate only to a specific number. If less numbers are
generated than there are selections, the remaining regions are replaced
with an empty string (""). If more numbers are generated, all remaining
numbers are joined as multiline strings in the last region.

A great example is `@i>100` which generates numbers from 1 to 100.

In the process:
- Add "n" variable to eval env which represents the number of selections
- Enforce max line width of 79 characters
- Add a time limit for generating numbers in case the user entered a
  stop condition that is never true, leading to an infinite loop
- Add a "quiet" mode for preview that does not fail when an invalid
  expression was given (also for the general "expr")
Add stop expr to alpha mode (and reduce dupe code)

Example: `a@p=='u'` or `d@_==10`
Change i in env to the actual i (there's still _)
Add expression mode

In this mode, indicated by a leading "|" in the format string, the
current selection will be parsed and set to `_` in the expr env.
Supports format string and stop expr, and is also able to cast the
selection to a type beforehand. Reverse mode currently does not work as
intended.

Syntax:
exprmode      ::=  [cast] "|" [~format::][expr][@stopexpr] ["!"]
cast          ::=  "i" | "f" | "s" | "b"
Little code formatting
Rework reverse mode for exprmode

In the process: Fix bad regexps for expressions with "!" reverse at the
end since "!=" is actually a valid operator and contains "!".

Example for exprmode (also reverse mode):
1. "@p==100"
2. "i|~03::(p+3 if i!=0 else _)"
3. "i|~03::(p+3 if i!=0 else _)!"
4. The first number will be 595
Add re module to expression env
Add a menu item to open README

Also reduce complexity by using the $platform variable for keymap files.
Update README.md to all recent changes

- Stop expr
- Expression mode
- Examples and general overhaul
- Myself as contributer
Add update message