Font, cache, and other misc updates

Hi Vivek, here's a summary of the changes.  There's a few removed api's in Font/FontFamily, but the base Font/FontFamily now implement them directly.  e.g. new Font("serif", 20), or new Font ("Times, serif", 20); will now work.

Other changes:
- Implement font metrics for all platforms (note: changed metrics to points, as DPI is different for each platform and depend on the screen the form is on). Multiply the points by MyForm.Screen.Scale to get pixel sizes (see FontDialogSection for an example)
- Remove Font/Pen/Brush cache (use Pens.Cached, Brushes.Cached, and Fonts.Cached)
- Added Screen.AllScreens, Screen.PrimaryScreen, and Window.Screen (to be expanded when needed)
- Other fixes