This is mainly to reduce code size.
The write() function in class Arduboy2 has to remain virtual,
so functions that result in it eventually being called could
not be made static.
The members of the Point and Rect structures could not be made static
due to their intended use as having multiple instances.
Also to reduce code size, bootLogoExtra() was made non-virtual.
This meant that the begin() and bootLogo...() functions in the
Arduboy2Base class had to have duplicate or equivalent functions
added to the Arduboy2 class.
Related documentation was updated and some minor changes were made to
non-related documentation.
A friend class named Arduboy2Ex is declared by the Arduboy2 classes.
The intention is to allow a sketch to create an Arduboy2Ex class which would
have access to the private and protected members of the Arduboy2 classes.
It is hoped that this may eliminate the need to create an entire local copy
of the library, in order to extend the functionality, in most circumstances.