fixes #568 - unparseable directive arguments are stringified instead

This pull request targets #568. It also fixes a vaguely related issue which somehow went undiscovered - if you have a component with an attribute that can be *partially* parsed, this happens:

```html
<!-- widget template -->
I got {{whatigot}}...

<!-- main template -->
<widget whatigot='99 problems'/>

<!-- result -->
I got 99...
```