make Board.pool (MoveListPool) static

There should only be one instance of the MoveListPool per Board type.
add Board.moveGenerator() and use NewInstance<Move> instead of Move

Board.moveGenerator() returns NewInstance<Move> which Move implements
but using NewInstance<Move> makes it more clear what needs a Move and
what needs a move generator. Use NewInstance<Move> when possible.
static analysis from android studio
fix MoveList iteration in HintList; add MoveListIter

showPieceMoves and showMovesTo were iterating over the entire list
in MoveList when only indexes less than size are valid. Making MoveList
iterable in a foreach loop will reduce this mistake from happening.

MoveList now implements Iterable<MoveNode> using MoveListIter as
the iterator. Update several locations that were using indexes
to now use the advanced for loop.
optimize GenesisNotifier to reduce battery usage

1) Use AlarmManager.RTC instead of AlarmManager.RTC_WAKUP
AlarmManager.RTC doesn't force the device to wakup but will fire
the next time the device wakes up.

2) Use inexact repeating alarms
using AlarmManager.setInexactRepeating allows the device to modify
the wakup time to be grouped with other pending alarm times.

3) use START_NOT_STICKY which will not restart the service if it crashes.
fix unnecessary object creation in Engine and MoveList

Remove object creation in the following locations:

1) LinkedList.addFirst() always creates a new node to hold the inserted
object; use ArrayDeque instead which doesn't create container objects.

2) Iterating over a MoveList using iterator() causes a new MoveListIter
to be created. As long only a single thread iterates over the list
a single iterator can be reused.

3) board.newMove() is called in Engine.NegaScout to load the move stored
in a TransItem; use a ObjectArray<Move> to hold temporary moves instead.
move ImageCache into PieceImgCache; don't hold original images in memory

ImageCache was intended to prevent the piece images from being decoded
several times by holding on to the original sized images. But this used
more memory with no user noticable speed improvement. Now PieceImgCache
does the decoding straight into the scaled size of the image.
change Eclipse project name to GenesisChess-Android
create TransItem objects on demand to save memory

The constructor for TransTable initialized the entire TransItem[]
with TransItems. This wasts memory since most of the array index
values will not be accessed.
load PieceImgCache images on demand

instead of loading all the images into the cache when calling resize();
only load the images as they are needed. This also removes the need for
passing Type as images not needed are not loaded. This improves board
load times slighly.
load scaled image refferenced in MyImageView on demand

ImageViews hold onto the originally decoded Bitmap from resources to
be able to resize the image when needed. But since the main use case
for MyImageView is to load a static sized scaled down version of an
oversized original, much memory is wasted.

To reduce memory usage and improve performance several changes have
been made. Only the resource id of the image is stored. It can be set
in the constructor using AttributeSet or by calling setResId(int). In
onMeasure() only the image demensions are decoded. Finally, in onDraw()
the scaled image is decoded in a background thread.
bump to v1.14.5