A Cross-Layer Architecture for Effective Channel Assignment with Load-Balancing in Multi-Radio Multi-Path Wireless Mesh Networks