[WIP] Updates from CV 103

### Description

The following new features are introduced in this PR:
 - adding a **new size format** which defines the cell size (**20px - 200px**)
 - alias for the texture parameter: **board**
 - alias for the theme parameter: **piece**
 - added new options **highlight_squares** and **highlight_squares_color** (the color is for dark fields, light fields have the same color with opacity 0.5) 

### Code updates
I have made several updates to the configuration setup and configuration classes organization.
The previous implementation serialized the query parameters array into the **Config** object. Then the configuration from the config files was loaded and the following objects were created and placed into the **Config** object: **Config\Size**, **Config\Texture**, **Config\Theme** and **Config\ThemeColor**.
I have divided the object that contains the query string parameters with the object that contains prepared configuration for diagram generation. I've created the class **Config\Input** which is created from the users input parameters, and also validates the input parameters (with the use of the serializer) and the class **Config** now contains prepared config (with data loaded from config files, some parsed values like the highlighted squares etc) and is passed to the diagram generator, and based on it, the diagram is drawn.

I have reorganized the classes in the **Config** folder. **Config\Size** is basically the same, but **Config\Theme**, **Config\ThemeColor** and **Config\Texture** are removed. The reason for this is the introduction of the **Config\Board** class, which contains all the board related configuration, including the texture filename which is optional, but imported from the config file (Resources\config\board_texture.yml).
I have also removed the **ConfigLoader** class, and introduced separate classes for loading separate configuration and parsing it: **Config\Loader\SizeLoader**, **Config\Loader\BoardLoader**, **Config\Loader\PieceThemeLoader**.

After the **Config\Input** object has been created with the query parameters, it is passed to the **Config\Parser** which loads and parses configuration from the config files, and creates the **Config** object ready for the drawing of the diagram.

### Still left to do

- Update current tests and add new ones
- I believe the configuration process should not be part of this library, i think the library needs only to worry about drawing the diagram when receiving a prepared Configuration object. My idea is to create a DiagramBundle which would handle the configuration and also the services would be defined there.
Property `boardTexture` doesn't exist. Is this `boardTextureIndex`?