[Improvements - LOW] Added an initialization function for layers

There are basically 2 ways to initialize data in layers:

1.  Override the `doctype()` function. This is conceptually wrong. It does not make sense to override that function when initializing data in a layer
1.  Override the constructor. This seems like a good and correct idea. However, as the constructor gets in the theme/layer hierarchy chain, if a constructor is not properly setup, e.g., it does not have all necessary parameters defined, then the call to a parent constructor will break. Not good. So tempting developers to go this way might break initialization... even if all developers follow the rules of using all necessary parameters then an update in the core can break things again (think about the `rtl` parameter that lived for a few commits).

So no alternative is good. Now, considering the fact that we already have a `finish()` function then why not add an `initialize()` one immediately after setting up the `content`, `template`, etc members?

Initialization in a layer would happen this way:

```php
class qa_html_theme_layer extends qa_html_theme_base {
	private $myVariable;
	public function initialize() {
		$this->myVariable = 'Some data';
		parent::initialize();
	}
	...
```

Calling the parent `initialize()` function will still be a need... but being parameter-less this should avoid some issues in the future.

PS: We can later discuss the need of the `request` member in the theme considering the existence of the `qa_request()` function :)