Get rid of NoRefs, use HasFields properly instead
Move PlotObject, PlotContext and Widget to individual files
Rename object DefaultImplicits to DefaultValue

This will help implicit resolution algorithm to find default implicits
and not require us to extend or import DefaultImplicits everywhere.
Pedantic code align in Defaults.scala
Update examples and add axis to grids
Add more structure to tests
Update tests and remove id where it's no longer allowed