Functional multi-layer perceptron: a non-linear tool for functional data analysis