rewriting Data.js

introducing unit tests
reset data method added

better crop()
very simple fix for building occlusion