Issue #1724: allow script html options.

Issue #1724: allow script html options.
This one allows to register or render scripts and script files with any additional HTML options, which can be "defer", "async", "onload" and anything else if needed.

Fixed "CHtml" and "CClientScript".
Some unit tests have been added.
No BC break.
Unit tests pass successfully.