From http://ilee.co.uk/executing-javascript-files-asynchronously/