wrapped javascript scopes

also added input placeholders
create own sane resize event

support viewport elements in nested scroll containers