Adaptive Orthogonal Projection for Batch and Online Continual Learning