Semi-Analytical Buckling and Optimisation of Variable Stiffness, Variable Thickness Laminates