* added remove_swap_index to array functions as it was needed at several locations

 * some cleanup in component code
 * Restructure GUI code to use a Container system for making different scenes
 * Updates on GUI code to give components more knowledge of their location