This is not an answer, but, based on **chuy's** solution, I want to show one of the advantages of the new **V10** `Inactive`:
(x = Inner[Inactive[Times],
{{1, 2}, {3, 4}}, {{5, 6}, {7, 8}},
Inactive[Plus]]) // MatrixForm
![enter image description here][1]
Activate[x, Times] // MatrixForm
![enter image description here][2]
Activate[x] // MatrixForm
![enter image description here][3]
[1]: https://i.sstatic.net/EchyB.jpg
[2]: https://i.sstatic.net/TrjL7.jpg
[3]: https://i.sstatic.net/AeGmM.jpg