Initial commit
Added methods to request input from user.

Core API changes:
  + added method ch.jeda.Program.readDouble(String)
  + added method ch.jeda.Program.readInt(String)

Platform API changes (ch.jeda.platform):
  + added class InputRequest
  + added class Request
  + added class InputType
  + added method Platform.showInputRequest(InputRequest)
  * changed class ListInfo, now extends Request

Java Platform implementation changes (ch.jeda.platform.java)
  + added method Main.showInputRequest(InputRequest)
  + added class InputWindow
  * changed class WindowManager (holds InputWindow instance)

Android Platform implementation changes (ch.jeda.platform.android)
  + added method MainActivity.showInputRequest(InputRequest) NOT IMPLEMENTED YET
Fixed: Program doesn't terminate after all windows have been closed (Java platform).

Core library changes:
  * Engine calls Platform.stop() when Jeda program terminates or when no program is selected.

Platform API changes (ch.jeda.platform):
  * renamed method Platform.finish() to Platform.stop()

Java Platform implementation changes (ch.jeda.platform.java)
  * renamed method Main.finish() to Main.stop()

Android Platform implementation changes (ch.jeda.patform.android)
  + added method MainActivity.stop()
Changes to image files

  - Added copyright notice (Planet Cute)
  - Removed default-image.png
  - Using Jeda logo as default image
Fixed: Incorrect behaviour of input dialog

Java Platform implementation changes (ch.jeda.platform.java)
  * InputWindow is not modal anymore (sends Window closing event on close)
  * InputWindow validates input when showing
Added correct handling of jeda.properties file.

Changes in Jeda NetBeans module (nbjeda):
  - Added 'Jeda Configuration' node to NetBeans project view showing jeda.properties file.
  - jeda.properties file is copied to classes directory at compile time.
  - Improved jeda.properties in template project
Ignoring generated files in nbjeda/plugin/nbproject directory
Fixed: Implemented/fixed Android Canvas implementation.

Android Platform implementation changes (ch.jeda.platform.android)
  * implemented CanvasImp.drawImage()
  * fixed CanvasImp.drawPolygon()
  * fixed CanvasImp.fillPolygon()
  * implemented CanvasImp.getLineWidth()
  * fixed CanvasImp.drawText() - not affected by setLineWidth() anymore
Refactored Android implementation - Introduced ViewManager responsible for SurfaceView
Added support for key events

Core API changes:
  + added class ch.jeda.ui.Key
  + added class ch.jeda.ui.KeyEvents
  + added method ch.jeda.ui.Window.getKeyEvents()

Platform API changes (ch.jeda.platform):
  + added class KeyEventsImp
  + added method ViewImp.getKeyEventsImp()

Java Platform implementation changes (ch.jeda.platform.java)
  + added class JavaKeyEventsImp
  + added method AbstractViewImp.getKeyEventsImp()

Android Platform implementation changes (ch.jeda.platform.android)
  + added method AndroidViewImp.getKeyEventsImp() NOT IMPLEMENTED YET
  + added method DoubleBufferedViewImp.getKeyEventsImp() NOT IMPLEMENTED YET
Added Vector class representing two-dimensional vector

Core API changes:
  + added class ch.jeda.Vector
  + added method ch.jeda.Location.toVector()
Added / improved comments
Added input prompt for String values

Core API changes:
  + added method ch.jeda.Program.readString(String)

Platform API changes (ch.jeda.platform):
  + added method InputType.forString()
Refactoring in Java platform implementation

  - moved helper methods to GUI class
  - GUI class not public anymore
Introduced ch.jeda.ui.Window.Feature enum replacing *Fullscreen and *DoubleBuffered methods.

Core API changes:
  + added enum ch.jeda.ui.Window.Feature
  + added constructor ch.jeda.ui.Window(Feature...)
  + added constructor ch.jeda.ui.Window(int, int, Feature...)
  + added method ch.jeda.ui.Window.hasFeature(Feature)
  + added method ch.jeda.ui.Window.setFeature(Feature, boolean)
  + added method ch.jeda.ui.Window.setFeatures(Feature...)
  - removed method ch.jeda.ui.Window.isFullscreen()
  - removed method ch.jeda.ui.Window.isDoubleBuffered()
  - removed method ch.jeda.ui.Window.setDoubleBuffered(boolean)
  * deprecated method ch.jeda.ui.Window.setFullscreen(boolean)

Platform API changes (ch.jeda.platform):
  - removed method ViewImp.isDoubleBuffered()
  - removed method ViewImp.isFullscreen()
  + added method ViewImp.getFeatures()
  - removed method ViewInfo.isDoubleBuffered()
  - removed method ViewInfo.setDoubleBuffered(boolean)
  - removed method ViewInfo.isFullscreen()
  - removed method ViewInfo.setFullscreen(boolean)
  + added method ViewInfo.hasFeature(ch.jeda.ui.Window.Feature)
  * changed constructor to ViewInfo(Size, EnumSet<Window.Feature>)

Java Platform implementation changes (ch.jeda.platform.java)
  * adapted to Platform API changes

Android Platform implementation changes (ch.jeda.platform.android)
  * adapted to Platform API changes
Implemented fullscreen mode in Java platform
Improved handling of program name:

  - Program name is looked up in jeda.properties file.
  - Program thread name is set to program name.
  - Default window title is program name.
Removed Window.flip() method. Window.update() can be used instead.

Core API changes:
  - removed method ch.jeda.ui.Window.flip()
Renamed KeyEvents to Events

Core API changes:
  * renamed class ch.jeda.ui.KeyEvents to ch.jeda.ui.Events
  * renamed method ch.jeda.ui.Window.getKeyEvents() to ch.jeda.ui.Window.getEvents()

Platform API changes (ch.jeda.platform):
  * renamed class KeyEventsImp to EventsImp
  * renamed method ViewImp.getKeyEventsImp() to ViewImp.getEventsImp()

Java Platform implementation changes (ch.jeda.platform.java)
  * adapted to Platform API changes

Android Platform implementation changes (ch.jeda.platform.android)
  * adapted to Platform API changes
Fixed: Window.getSize(), .getWidth() and .getHeight() now return correct values (Java implementation)

Java Platform implementation changes (ch.jeda.platform.java)
  * Fixed implementations of WindowImp. They now allocate image buffers of the correct size