Javascript two-way html binding template engine