nav function and templates

- added tests
- replaced functionality of [[ arbitrary_js() ]] with [[ inline_js() ]]
-- html templates now support loops and other inline js goodness
-- won't break on empty or multi-line [[ inline_js() ]] or {{ vars }}
- *fixed inline templates not escaping double quotes properly