add support for multi-geom layers

This is done by making the layer() function return a Vector of Layers,
and replacing all the add_plot_element(::Layer, ...) with equivalent
add_plot_element(::Vector{Layer}, ...), except when adding a geom, in
which case a copy of the last layer in the vector is added with the
requested geom.

So layer() returns a vector of layers, which are all identical except
for their geoms.  plot() now accepts a Vector{Layer} as a valid element
type, appending it to the internal vector of layers.