Point - base class to represent point
Integer or float values are accepted as coordinates


  Point() - generic constructor, creates a Point with zero coordinates
  Point(Point) - copy constructor
  Point(x, y)  - creates a Point and assigns coordinates.
                 x and y may be integer or float



  parent (read-only)   - Point's parent object
  x (integer or float) - horizontal position of the point
  y (integer or float) - vertical position of the point



  ==       - compares two points, both coordinates must be equal
  coerce   - can be operated on Point, float value, Matrix and Rect
  add      - Point must be second operand, both coordinates are added
  subtract - Point must be second operand, both coordinates are added
  multiply - second operand may be Point, float or Matrix. If second operand is Point,
             then result of scalar product is returned



  Assign(Point p) | (x, y) - assigns new values to a Point
  Shift(Point p) | (x, y) - shifts Point on a position defined by p or x and y values
  Add(Point p) - same as Shift(Point p)
  Sub(Point p) - subtracts p coordinates from the current Point
  Mul(float s) - mutiplies Point's position to s value
  Transform(Matrix m) - applies Matrix transformation to the Point (see Matrix().__doc__)