Added column width and resizing, and improved the handling of numberOfRows

Added column width and resizing. 

The numberOfRowsInTable should only be retrieved when the reloadData is called.  Also,  I replaced the numberOfRows and numberOfColumns methods with properties, since there is no need to check the datasource every time those methods were called, which was quite frequent.