Added a new MenuPage, fixed bug in RecycleArray

Now there is a cursor which can be used to navigate the menus, and one
sub menu to go into. Also, selecting Quit will exit the program. A bug
was discovered and fixed in RecycleArray, whereby using the old
"CopyData" method would incorrectly overwrite some of the sprite objects
in their host objects. This was caused by the inability of a
RecycleArray to create blank sprite objects for it to write data into,
and it was simply grabbing the data that you were giving it and copying
values right into that data. I had to add another requirement to create
a RecycleArray, which is a Func<T,T> which allows the RecycleArray to
create new objects of type T and store them for itself.