Microelectrode Arrays: Architecture, Challenges and Engineering Solutions