More stable version of textures packing algorithm.
New features:
- fix bug from previous commit (deque exception): at now current texture
  can packing only if it can packing by atlas height AND by atlas width
  (before it decided only by height);
- in Atlas class appear the bool variable that storage succesfully textures
  packing or not. If all textures cannot packing, on AtlasWidget painting
  all textures and draws message "Invalid packing";
- now texture can rotates on 90 degree;
- added new feature to the packing algorithm: if there aren't first
  algorithm cycle iteration (2-th and higher) then textures, that isn't
  packed in first cycle iteration, can rotating (take horizontal or
  vertical orientation) and try to packing again in a next algorithm cycle
  iterations.

Signed-off-by: Oleg Matiyuk <olgerd27@gmail.com>
Added "Clear texture" action to the "File" menu.
When select this menu item, atlas return to his initial condition and clears
all what was painted in past.

Signed-off-by: Oleg Matiyuk <olgerd27@gmail.com>
A few new features:
- check the textures sizes - width and height every texture
  must be less than width and height of the atlas;
- if textures wasn't packing, draw text "Invalid packed";
- update AtlasWidget widget surface after adding all textures.

Signed-off-by: Oleg Matiyuk <olgerd27@gmail.com>