Improve Dockerfile so npm/bower installs are cached