ColorGroup now uses initialization lists
Removed groupBound member and associated functions, as any color group intersection checking will no longer be done in this fashion
Socket and Jewel classes now use initialization lists
Grid class now uses initialization lists for some constructor initialization.
Formulae-derived gridBound values are still initialized by assignment, but using only primitives they do not incur any slowdowns
Added socket pointer cleanup to Grid destructor
Added default of NULL currentJewel to Socket initialization list
Added socket destructor which deletes currenJewel pointer as part of clean-up
Delete currentJewel now also occurs when jewels are discarded or replaced by a new generation, invalidating any use for the older jewel
Moved a comment from socket.cpp to socket.h in line with function description comment style
clean_up function in main now takes gameGrid (by reference) as a parameter, so it can be deleted
Completed list of Surfaces requiring freeing in clean_up function
Moved code that calls Grid's color group search into a separate function in main for tidiness, though it is only called once
Removed searching/scoring initiation from performSocketSelection and into gameloop. ColorGroups created from the jewels on grid collapsing downwards are now scored as soon as they stop moving
Used flag to indicate whether the grid has changed since the last time it was searched, to prevent repeated searches
Introduced flag to indicate whether player made a move (switched two jewels) so this can prompt checks for whether the move was legal or in need of reversal
Renamed switchBackTime(r)Counter and switchBackTime(r)Target, to slightly reduce how unweildy names feel
Removed print behaviour following selection of single socket
Made all message surfaces global, to be consistent
Moved drawing of Timer screen display and score screen display (i.e. HUD elements) into separate function for tidiness