Merged screen bars into one array
New feature, bars can be stacked next to each other

Enables user to create many bars in the same position
For example 3 bars on the top, every bar will be rendered under previous one
Positions can be mixed, bars will be placed and sized according to available space dictated by order of bars in the bars list
Fixed _NET_WM_STRUT handling

Bars are pushed away from the edge if client requests space
New feature, floating bars
Rendering widgets in proper position, added Even layout
Proper font size calculation

Now font size is calculated to fit text in a container respecting both width and height
User can specify fixed width and if text will be changed during execution, font size will be matched to container dimensions
Refactored TextBox padding

Now user can pass padding value in kwargs
Value must be one of the following:
    - integer: all sides will be set to passed value
    - tuple: sides will be set in top, right, bottom, left manner (clockwise)
      if tuple length is less than 4 zeros will be appended

If user specify fixed font size bigger than available area with padding applied
font size will decreased to fit the whole string inside
New feature, horizontal and vertical text-align

User can import alignments from widget.base and pass align and valign in kwargs

All alignments are including padding and working with both fixed and calculated font size
Refactored clock widget
Added Fixed layout, implemented resizing/redrawing chain

From now on TextBox widgets are no longer in charge of redrawing themselves
or redrawing their parent. This logic was moved deeper and when widget
changes dimensions it redraws itself automatically. Then notifies
parent so it can rearrange adjacent widgets, redraw them and refresh
uncovered part of the bar pixmap within layout boundaries
This includes: changing text, font and font size during execution