Add ElementBase.points to constructor and cache bounding boxes

Since points is a member variable of ElementBase it should be
created in the constructor.

Points are not expected to be manipulated from the outside.
So also make them a read only attribute.

This allows caching the bounding box for elementary objects
as well.