Created an initial class to contain our code

- Added an initialiser to ask for user input
- Updated the image creation function to add string “0” vs int 0 as per
the specification
- Added a show function to output the current image
  - Could make some efficiency improvements as runs SLOW on big bitmaps
- Added a dedicated helper Close function to handle exiting the
application with a 0 or other code
- Added get_input helper function to handle receiving input
- Added initial functionality to the process_input function
  - Exit application
  - Create image
  - Clear image (basically executes create image)
  - Show image
- Created a helper function  to print the application’s help text
- Created functions to test the values for and execute the commands for
  - Image Create
  - Image Clearing
  This moves the checking away from the function calls itself to speed
up execution of internal calls after validation
- Added a helper function to handle string to int changes relating to
user entered image co-ordinated
  - This allows handling of “2,364” or other odd cases out of the main
functions in a central place
- Added an error function to handle ‘Error’ text and then ask for more
user input
Added the ability to colour a pixel

- Added a function to validate the co-ordinates and colour entered
- Added a helper function to check colour formats
Added vertical line drawing

- Application now drawers vertical lines on the stored image
  - Added helper functions to check validity of X and Y co-ordinates
  - Added Application-wide error helper functions
  - Added Co-Ordinate validation helper functions
Added the ability to draw lines and fill

- User can now draw lines using a refactored function
- User can now fill an area and all connected pixels.
Added the ability to 'reflect' the image

Users are now able to ‘reflect’ (flip) the image vertically or
horizontally.
Added help text and row limitation
Improved fill algorithm

Made improvements to the fill algorithm:
 - Existing algorithm hit the end of the stack when filling large areas.
 - Attempted to fix using a ‘lighter’ version with minimal success
 - Implemented a Flood Fill algorithm so there is no recursion.

NOTE old solutions have been left in and just commented out to show
workings