Compile `elif` tag to `elif` instead of `else: if`

This avoids deep nesting in case of many `{% elif .. %}` blocks (which
would fail during execution) and also deep recursion (which may fail
during compilation)

fixes #759
7 files changed