Input: A set of points on R**2, one per line, X coordinate first, Y coordinate second, separated
by whitespace.
Output: The area of the minimal convex area containing all the supplied points.
Description: Uses a basic Graham Scan algorithm; the 'whonk' sub is a cross-product,
the 'tatybogle' sub performs a vertex difference function.  As the points are read in,
they are sorted so that we start the Graham Scan with the leftmost point.  The real work,
though, happens in the END {} block.  @v is passed through the Graham Scan algorithm (for
reference, see CLR), and @s contains the points chosen as the convex hull.  The area is
computed by splitting into triangles and summing the area.  Some rather unconventional
syntax is used in the area computation.  For instance, a hash named '}' is used to hold
the one common point to all the triangles; the x coordinate is in the '_' key, the y
coordinate is in the '__' key.  The hash is created by:
*{qq X\x7dX}={map{+q+_+x++$i,$_}@{shift @s}};
Note that this is a glob assignment, to a glob named "\x7d", using X as the quoting
character of the qq.  The leading + inside the map is a red herring.  The first iteration
of the map provides '_', <x coordinate> and the second provides '__', <y coordinate>.  Also,
the manner in which pre- and post- decrements work in perl is very vital to the
$p[--$i][--$i] syntax.