Add AMD - Asynchronous Module Definition support with RequireJS

This branch adds AMD - Asynchronous Module Definition support with RequireJS with the purpose to prepare the application for Javascript loading and optimization. It also makes possible next refactoring to Angular Asynchronous Loading technique.
RequireJS needs only one main Javascript being loaded from HTML