Let labels in CHtml optionally wrap input elements

This change allows all `<label>` tags to optionally wrap an input element. The change affects all checkbox and radiobutton derivates.

 * `CHtml::$labelWrapInputs`.  If turned on, all radioButtonLists and checkBoxLists will render with lables wrapping the input element. Off by default, so this change is backwards compatible.

 * `CHtml::label` and `CHtml::activeLabel` have 2 new `htmlOptions`: `wrapInput` (wraps input element, which can be specified in `$for`) and `template` which defaults to `'{input} {label}'`

```php
<?php echo Chtml::label('test','<input ... />,'
    array('wrapInput'=>true)
) ?>
```

Gives `<label><input .../> test</label>`.

 * Because almost every checkbox or radio button need a label, this is was now included into `CHtml::checkBox` and `CHtml::radioButton`. Both have new `htmlOptions` `label` and `labelOptions`. If set, a label will automatically be rendered. A template can be specified in `labelOptions` (see `CHtml::label`). This change was neccessary to play nice with hidden inputs. Inside a label tag must only be 1 input element. So the hidden element must be rendered outside.

```php
<?php echo Chtml::radioButton('test',false,array(
    'label'=>'Some label',
    'labelOptions'=>array('template'=>'{label} - {input}'),
)); ?>
```
Gives `<label><input .../> - Some label</label>`.

 * New `htmlOptions` for `radioButtonList`, `checkBoxList` and their active derivates: `wrapInput`. Defaults to `CHtml::labelWrapInputs`.


```php
    <?php CHtml::$labelWrapsInput=true; ?>
    <?php echo Chtml::checkBoxList('test5',1,array(
        1=>'Value 1',
        2=>'Value 2',
    )); ?>
```