[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.

Property `pieceTheme` doesn't exist. Is this `pieceThemeIndex`?