The simulation of molecular and organic devices: a critical review and look at future developments