Added defer attribute to javascript tag and deferred tag for output

This might be a stupid idea, or might be possible in other ways...

I sometimes want to include an extra JS file on specific pages, but not on others.

As I have the main

        <asset:javascript src="application.js"/>

tag in my layout (which includes jquery, etc), I need this optional javascript to come _after_ this tag.

But as this is in the layout, and my option js is defined in the page, the ordering is wrong...

This pull request lets you declare (in the layout):

        <asset:javascript src="application.js"/>
        <asset:deferred/>

Then in your page, you can do:

        <asset:javascript src="optional.js" defer="true"/>

Feel free to ignore or discard this PR if its something that can be done in a better way...

PS:  Basically store the `<script>` tags in a list in the request, and dump them into the page when `<asset:deferred/>` is encountered