Merge pull request #13 from BU-CS673/graphics

Graphics
Merge pull request #20 from BU-CS673/graphics

Graphics -> Canfield
Added MockSprite; Added more tests

- MockSprite can be used to test Model objects. This severs their link
to the Graphics system for unit testing, which drastically simplifies
writing tests for Model code. Graphics and Model interactions will be
tested in integration.
- Added tests for MockSprite
- Added another test to TankSprite, and simplified the TankSprite tests
a bit
- Added additional documentation to DrawLayer
Updated Eclipse preferences file

- The file now properly lists the code author as "BU CS673 - Clone
Productions", and includes the warning for missing javadocs on
non-private methods
- Removed the xml files, to reduce confusion
- Updated the readme
Made MockSprite's constructor public

The intention was to give MockSprite a public constructor, but
accidentally gave it a package-private constructor. This has now been
fixed.
Many updates to Graphics; Added World interface

- Implemented constructor for Graphics system
- Added World interface, which is needed by Graphics, and will almost
certainly be needed for Controllers and Networking
- Added GameLogicException, which should be thrown when there are game
logic mistakes
- Changed two variables in TankSpriteTest to non-static
- Updated README in world package
Added additional tests for GraphicsTests

- Created a MockWorld class, which implements the World interface for
testing purposes
- Further refined a TankSprite test
- Updated README in graphics package
- Moved MockSprite to test folder, out of src, to emphasize that this
should never be used in production.
Added the Controller interface

- This interface is necessary so we can begin implementing controllers,
including the camera controller
- Added additional packages and READMEs
Merge pull request #23 from BU-CS673/Canfield

Canfield -> Graphics
Added concrete GameWorld class

GameWorld implements the World interface, which is necessary for the
rendering system.
Added CameraController

- CameraController interface
- TankCameraController implementation, which moves the camera based on
the position of the tank
- Updated World with getMapWidth and getMapHeight methods, which are
needed by TankCameraControllers
- Update GameWorld impl based on World interface updates
- Added Graphics.addCameraController method
Implemented tests for CameraController & GameWorld
Fixed problems w/ GameWorld
Increased test coverage
Created two packages

- bubolo.controllers.input
- bubolo.world.map
Added TankSprite; getInstance() static method to Graphics

- The Graphics.getInstance() static method is only accessible to the
graphics system, and it must not be called before the Graphics class is
explicitly instantiated.
- Enables all graphics classes to access the Graphics system, even if
they don't have a reference to it
- TankSprite now sets the tank camera controller. However, it will need
a way to determine if the tank is the local player before it works
properly.
- Added additional tests
Added main game class and loop

- Main game class: GameApplication
Fixed FindBugs issue in Graphics
Added tests for GameApplication

Also synchronized LigGdxAppTester
Added additional sprite.create overloads

Also added tests for the overloads