rework basis.date: make optional Date prototype extension and related changes