Python matrix analysis generates best sized cells

The width of each cell is now based upon the width of the widest cell.
This ensures the matrix is as small as possible, but never too small.